#pragma once

#include "stdafx.h"

#define SZ_BYTE_HANDLER_CLSID L"{5F1B01A7-EDD6-421D-AAEE-4FFE0DB21DCC}"
#define SZ_BYTE_HANDLER_NAME L"FFmpeg Thunk Byte Stream Handler"
#define SZ_BYTE_HANDLER_NAME_WINRT L"ShanYe.FFmpeg.FFMediaSource.ByteStreamHandler"

static const PCWSTR pszSupportedFileExt[] = {
	L".mkv",
	L".flv",
	L".f4v",
	L".hlv",
	L".vp6",
	L".vob",
	L".ogm",
	L".rmvb",
	L".rm",
};

static const PCWSTR pszSupportedFileExtFull[] = {
	L".mp4",
	L".m2ts",
	L".ts",
	L".wmv",
	L".avi",
	L".mpg",
	L".mpeg",
	L".3gp",
	L".3g2",
	L".mov",
	L".vp6",
	L".vob",
	L".mkv",
	L".flv",
	L".f4v",
	L".hlv",
	L".ogm",
	L".rmvb",
	L".rm",
};

static const CLSID CLSID_MFSource_FFMPEG_ByteStreamHandler = {0x5f1b01a7, 0xedd6, 0x421d, {0xaa, 0xee, 0x4f, 0xfe, 0xd, 0xb2, 0x1d, 0xcc}};
static const GUID MF_MT_MY_SOURCE_ID = {0x353a6e53, 0x8a5a, 0x46d6, {0xa8, 0x77, 0x36, 0xd6, 0x70, 0xc7, 0x2b, 0x9f}};
static const GUID MF_PD_MY_SOURCE_ID = {0xe3431038, 0x851c, 0x41b6, {0x99, 0xf, 0xef, 0xc5, 0x13, 0x48, 0xc3, 0x60}};
static const GUID MFVideoFormat_FFMPEG_SW = {0xfec31d39, 0x532e, 0x49d6, {0xbd, 0x40, 0x70, 0x82, 0xe5, 0x20, 0x42, 0x7d}};